/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package BussinesLogic;

import DataAccess.*;
import DataModel.*;
import java.text.ParseException;
import java.util.Date;

public class BL_EventoDeportivo {
    
    Dao_EventoDeportivo dao_eventoDeportivo;

    public BL_EventoDeportivo() {
        dao_eventoDeportivo = new Dao_EventoDeportivo();
    }
    
    public Request crearEvento(String nombre, String descripcion, Date fInicio, Date f_fin, String pais,
                                String ciudad, String logo){
        Request rqst = new Request();
        java.text.SimpleDateFormat formato = new java.text.SimpleDateFormat("d-M-yyyy");
        Date sysdate = new Date();
        try {
            fInicio = formato.parse(formato.format(fInicio));
            f_fin = formato.parse(formato.format(f_fin));
            sysdate = formato.parse(formato.format(sysdate));
        } catch (ParseException ex) {
            rqst.setTransac(false);
            rqst.setMessage(ex.getMessage());
        }
        
        if(fInicio.compareTo(f_fin)==0 || fInicio.compareTo(f_fin)==1 ||
                fInicio.compareTo(sysdate)==0 || fInicio.compareTo(sysdate)==-1){
            rqst.setTransac(false);
            rqst.setMessage("Las fechas de inicio y fin del evento no son validas");
            return rqst;
        }
        
        EventoDeportivo evento = new EventoDeportivo();
        evento.setId(formato.format(fInicio) + "-" + formato.format(f_fin));
        evento.setNombre(nombre);
        evento.setDescripcion(descripcion);
        evento.setFechaInicio(fInicio);
        evento.setFechaFin(f_fin);
        evento.setPais(pais);
        evento.setCiudad(ciudad);
        evento.setLogo(logo);        
        rqst = dao_eventoDeportivo.registrarEvento(evento);
        
        if(!rqst.getTransac()) return rqst;
        Dao_Colaborador dao_col = new Dao_Colaborador();
        dao_col.modificarColaborador("001","idEvento",evento.getId());
        dao_col.modificarColaborador("002","idEvento",evento.getId());
        
        
        return rqst;
    }    
    
}
